package com.kaiwu.tc.persistence.session;

import com.kaiwu.tc.persistence.mapping.MappedStatement;

import java.beans.IntrospectionException;
import java.lang.reflect.InvocationTargetException;
import java.sql.SQLException;
import java.util.List;

/**
 * @author Captain
 * @date 2021/1/23
 **/
public interface Executor {
    <T> List<T> query(Configuration configuration, MappedStatement mappedStatement, Object... params) throws SQLException, NoSuchFieldException, IllegalAccessException, IntrospectionException, InstantiationException, InvocationTargetException;

    int doUpdate(Configuration configuration, MappedStatement mappedStatement, Object... params) throws Exception;
}
